1. Field of the Invention
The present application relates to wireless networking and, in some preferred embodiments, to methods of preventing packet loss during handoff of a mobile device between neighboring networks and/or the like.
2. General Background Discussion
1. Networks and Internet Protocol
There are many types of computer networks, with the Internet having the most notoriety. The Internet is a worldwide network of computer networks. Today, the Internet is a public and self-sustaining network that is available to many millions of users. The Internet uses a set of communication protocols called TCP/IP (i.e., Transmission Control Protocol/Internet Protocol) to connect hosts. The Internet has a communications infrastructure known as the Internet backbone. Access to the Internet backbone is largely controlled by Internet Service Providers (ISPs) that resell access to corporations and individuals.
IP (Internet Protocol) is a protocol by which data can be sent from one device (e.g., a phone, a PDA [Personal Digital Assistant], a computer, etc.) to another device on a network. IP is a connectionless protocol. Today there are varieties of versions of IP, including, e.g., IPv4, IPv6, etc. Each host device on the network has at least one IP address that identifies the host device's point of attachment to the IP networks. The connection between end points during a communication is not continuous. When a user sends or receives data or messages, the data or messages are divided into components known as packets. Every packet is treated as an independent unit of data.
In order to standardize the transmission between points over the Internet or the like networks, an OSI (Open Systems Interconnection) model was established. The OSI model separates the communications processes between two points in a network into seven stacked layers, with each layer adding its own set of functions. Each device handles a message so that there is a downward flow through each layer at a sending end point, and an upward flow through the layers at a receiving end point. The programming and/or hardware that provides the seven layers of function is typically a combination of device operating systems, application software, TCP/IP and/or other transport and network protocols, and other software and hardware.
Typically, the top four layers are used when a message passes from or to a user and the bottom three layers are used when a message passes through a device (e.g., an IP host device). An IP host is any device on the network that is capable of transmitting and receiving IP packets, such as a server, a router, or a workstation. Messages destined for some other host are not passed up to the upper layers but are forwarded to the other host. In the OSI and other similar models, IP is in Layer-3, the network layer. The layers of the OSI model are listed below. Layer 7 (i.e., the application layer) is a layer at which, for example, communication partners are identified, quality of service is identified, user authentication and privacy are considered, constraints on data syntax are identified, and the like. Layer 6 (i.e., the presentation layer) is a layer that, for example, converts incoming and outgoing data from one presentation format to another, and the like. Layer 5 (i.e., the session layer) is a layer that, for example, sets up, coordinates, and terminates conversations, exchanges and dialogs between the applications. Layer-4 (i.e., the transport layer) is a layer that, for example, manages end-to-end control and error checking, and the like. Layer-3 (i.e., the network layer) is a layer that, for example, handles routing and forwarding, and the like. Layer-2 (i.e., the data-link layer) is a layer that, for example, provides synchronization for the physical level, does bit-stuffing and furnishes transmission protocol knowledge and management, and the like. The Institute of Electrical and Electronics Engineers (IEEE) sub-divides the data-link layer into two further sub-layers, the MAC (Media Access Control) layer that controls the data transfer to and from the physical layer and the LLC (Logical Link Control) layer that interfaces with the network layer, interprets commands, and performs error recovery. Layer 1 (i.e., the physical layer) is a layer that, for example, conveys the bit stream through the network at the physical level. The IEEE sub-divides the physical layer into the PLCP (Physical Layer Convergence Procedure) sub-layer and the PMD (Physical Medium Dependent) sub-layer.
Typically, layers higher than layer-2 (such as, for example, layers including the network layer or layer-3 in the OSI model and the like) is referred to as the higher-layers.
2. Wireless Networks
Wireless networks can incorporate a variety of types of mobile devices, such as, e.g., cellular and wireless telephones, PCs (personal computers), laptop computers, wearable computers, cordless phones, pagers, headsets, printers, PDAs, etc. For example, mobile devices may include digital systems to secure fast wireless transmissions of voice and/or data. Typical mobile devices include some or all of the following components: a transceiver (i.e., a transmitter and a receiver, including, for example, a single chip transceiver with an integrated transmitter, receiver and, if desired, other functions); an antenna; a processor; one or more audio transducers (for example, a speaker or a microphone as in devices for audio communications); electromagnetic data storage (such as, for example, ROM, RAM, digital data storage, and the like, such as in devices where data processing is provided); memory; flash memory; a full chip set or integrated circuit; interfaces (such as, for example, USB, CODEC, UART, PCM, etc.); and/or the like.
Wireless LANs (WLANS) in which a mobile user can connect to a local area network (LAN) through a wireless connection may be employed for wireless communications. Wireless communications can include, for example, communications that propagate via electromagnetic waves, such as light, infrared, radio, microwave. There are a variety of WLAN standards that currently exist, such as, e.g., Bluetooth, IEEE 802.11, and HomeRF.
By way of example, Bluetooth products may be used to provide links between mobile computers, mobile phones, portable handheld devices, personal digital assistants (PDAs), and other mobile devices and connectivity to the Internet. Bluetooth is a computing and telecommunications industry specification that details how mobile devices can easily interconnect with each other and with non-mobile devices using a short-range wireless connection. Bluetooth creates a digital wireless protocol to address end-user problems arising from the proliferation of various mobile devices that need to keep data synchronized and consistent from one device to another, thereby allowing equipment from different vendors to work seamlessly together. Bluetooth devices may be named according to a common naming concept. For example, a Bluetooth device may possess a Bluetooth Device Name (BDN) or a name associated with a unique Bluetooth Device Address (BDA). Bluetooth devices may also participate in an Internet Protocol (IP) network. If a Bluetooth device functions on an IP network, it may be provided with an IP address and an IP (network) name. Thus, a Bluetooth Device configured to participate on an IP network may contain, for example, a BDN, a BDA, an IP address, and an IP name. The term “IP name” refers to a name corresponding to an IP address of an interface.
An IEEE standard, IEEE 802.11, specifies technologies for wireless LANs and devices. Using 802.11, wireless networking may be accomplished with each single base station supporting several devices. In some examples, devices may come pre-equipped with wireless hardware or a user may install a separate piece of hardware, such as a card, that may include an antenna. By way of example, devices used in 802.11 typically include three notable elements, whether or not the device is an access point (AP), a mobile station (STA), a bridge, a PCMCIA card or another device: a radio transceiver; an antenna; and a MAC (Media Access Control) layer that controls packet flow between points in a network.
In addition, Multiple Interface Devices (MIDs) may be utilized in some wireless networks. MIDs may contain two or more independent network interfaces, such as a Bluetooth interface and an 802.11 interface, thus allowing the MID to participate on two separate networks as well as to interface with Bluetooth devices. The MID may have an IP address and a common IP (network) name associated with the IP address.
Wireless network devices may include, but are not limited to Bluetooth devices, Multiple Interface Devices (MIDs), 802.11x devices (IEEE 802.11 devices including, e.g., 802.11a, 802.11b and 802.11g devices), HomeRF (Home Radio Frequency) devices, Wi-Fi (Wireless Fidelity) devices, GPRS (General Packet Radio Service) devices, 3G cellular devices, 2.5G cellular devices, GSM (Global System for Mobile Communications) devices, EDGE (Enhanced Data for GSM Evolution) devices, TDMA type (Time Division Multiple Access) devices, or CDMA type (Code Division Multiple Access) devices, including CDMA2000. Each network device may contain addresses of varying types including but not limited to an IP address, a Bluetooth Device Address, a Bluetooth Common Name, a Bluetooth IP address, a Bluetooth IP Common Name, an 802.11 IP Address, an 802.11 IP common Name, or an IEEE MAC address.
Wireless networks can also involve methods and protocols found in, e.g., Mobile IP (Internet Protocol) systems, in PCS systems, and in other mobile network systems. With respect to Mobile IP, this involves a standard communications protocol created by the Internet Engineering Task Force (IETF). With Mobile IP, mobile device users can move across networks while maintaining their initially assigned IP Address. Mobile IP enhances Internet Protocol (IP) and adds a means to forward Internet traffic to mobile devices when connecting outside their home network. Mobile IP assigns each mobile node a home address on its home network and a care-of-address (CoA) that identifies the current location of the device within a network and its subnets. When a device is moved to a different network, it receives a new care-of address. A mobility agent on the home network can associate each home address with its care-of address. The mobile node can send the home agent a binding update each time it changes its care-of address using, as for example, the Internet Control Message Protocol (ICMP).
In basic IP routing (i.e. outside mobile IP), typically, routing mechanisms rely on the assumptions that each network node always has a constant attachment point to, for example, the Internet and that each node's IP address identifies the network link to which it is attached. As used herein, the terminology “node” includes a connection point, which can include, for example, a redistribution point or an end point for data transmissions, and which can recognize, process and/or forward communications to other nodes. For example, Internet routers can look at, for example, an IP address prefix, or the like, identifying a device's network. Then, at a network level, routers can look at, for example, a set of bits identifying a particular subnet. Then, at a subnet level, routers can look at, e.g., a set of bits identifying a particular device. With typical mobile IP communications, if a user disconnects a mobile device from, for example, the Internet and tries to reconnect it at a new subnet, then the device has to be reconfigured with a new IP address, a proper netmask, and a default router. Otherwise, routing protocols would not be able to deliver the packets properly.
3. Handoffs of Mobile Devices
In the context of, for example, a mobile device with an IP-based wireless network interface (such as, e.g., an IEEE 802.11 or an 802.16 interface), the mobile device needs to perform roaming or handoffs when it moves from one network into another network. With existing handoff methodologies, handoff is typically accomplished by performing the following sequence of protocol layer specific handoffs:
First, handoff takes place at the physical layer. In this regard, the mobile device switches its radio channel to, e.g., a wireless base station or wireless access point in the target network.
Second, handoff takes place at layer-2. In this regard, the mobile device switches its layer-2 (i.e., link-layer) connections to the target network. As explained above, the link layer or layer-2 refers to the protocol immediately below the IP-layer that carries user traffic. The mobile device performs layer-2 authentication with the target network if the target network requires such authentication.
Third, handoff takes place at the IP-layer. In this regard, the mobile device obtains a local IP address from the target network, performs IP-layer authentication if required by the target network, and then performs IP-layer location update so that IP packets destined to the mobile device can be routed by the IP network to the mobile device via the target network. In some instances, one way to support IP layer location update is to use Mobile IP defined by the Internet Engineering Task Force (IETF).
Forth, handoff takes place at the application-layer. The mobile device performs necessary steps at the application layer to ensure that its application traffic will flow correctly to the applications on the mobile device via the target network. For example, when the mobile device uses the Session Initiation Protocol (SIP) defined by the IETF to manage its application-layer signaling, an application layer handoff can be achieved by the mobile device updating its current location with its home SIP server. The mobile device may also need to carry out application-layer authentication with the target network if required by the target network. This is the case, for example, when the mobile device is using the IP Multimedia Subsystem (IMS) in a visited 3GPP (3rd Generation Partnership Project) wireless network, where the IMS is a SIP-based system supporting application-layer signaling and management for multimedia applications over 3GPP networks. Sometimes, either IP-layer handoff or application-layer handoff is sufficient. That is, it may be unnecessary to perform both IP-layer and application-layer handoff. These existing methods can lead to significant handoff delays when they are used in IP-based wireless networks. For example, in a geographical region where there are many wireless local area networks (WLANs) such as in cities, inside building complexes or residential homes, or in other public places where multiple wireless LANs exist, a mobile device may receive strong radio signals from multiple radio networks at the same time. However, the mobile device may not be authorized to use some of these radio networks.
Under the existing handoff methods described above, a mobile device will select a target network based on, for example, radio signal strengths, and will go through the steps described above to connect to the target network and then discover, for example, if it is authorized to use the network or if the network does not provide the capabilities (e.g., sufficient available bandwidth) or the services that the mobile device needs. Consequently, the mobile device will have to try to connect to another network, and will repeat this process until it finally connects to a network that provides, and that allows it to use, the capabilities and services it needs (or until it has exhausted all possible networks). Accordingly, with existing systems, a handoff can take a long time that can be intolerable and can delay sensitive applications such as, as some examples, live voice, and/or video applications.
While a variety of systems and methods are known, there remains a need for, among other things, improved systems and methods for performing handoffs in wireless networks.